
class JQProductAttrSwapService extends global.JQService {
    async do_action(){
		console.log('swap 1111')
		if(!this.conn)console.log('do_action::conn error');
		let data_obj = this.req_obj.data_obj;
		
		let inst = global.JQTableIF.instance('cp_attribution_table',this.conn);
		// _addParams
		console.log('swap ' + JSON.stringify(data_obj));
		if(!data_obj || !data_obj.src_id || !data_obj.des_id){
			throw {'code':global.consts.Error.ERROR_PARAM,
				'message':global.consts.Message.ERROR_PARAM};
		}
		let src_obj = await inst.get(data_obj.src_id,['id','sort']);
		let des_obj = await inst.get(data_obj.des_id,['id','sort']);
		
		if(!src_obj || !des_obj){
			throw {'code':global.consts.Error.ERROR_PARAM,
				'message':global.consts.Message.ERROR_PARAM};
		}
		if(!src_obj.sort)src_obj.sort=1;
		if(!des_obj.sort)des_obj.sort=1;
		if(src_obj.sort >=des_obj.sort){
			let temp =src_obj.sort;
			src_obj.sort=des_obj.sort;
			des_obj.sort=temp+1;
		}
		
		let sort =src_obj.sort;
		src_obj.sort=des_obj.sort;
		des_obj.sort=sort;
		await inst.update(src_obj);
		await inst.update(des_obj);
		
		// console.log('delete 22222')
		// let obj =await inst.remove(data_obj.obj.menu_id);
		// console.log('delete 22222  ' + obj)
		return data_obj;			
	}

}
module.exports = JQProductAttrSwapService;

